package common

type Stack struct {
	values []rune
	size   int
}

func (s *Stack) Push(v rune) {
	s.values = append(s.values, v)
	s.size++
}

func (s *Stack) Pop() rune {
	if s.Empty() {
		return 0
	}
	v := s.values[s.size-1]
	s.size--
	s.values = s.values[0:s.size]
	return v
}
func (s *Stack) Empty() bool {
	return s.size == 0
}